1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for saving unsaved user process data in one or more logical partitions (‘LPARs’) of a computing system.
2. Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
One area in which computer software has evolved to take advantage of high performance hardware is a software tool referred to as a ‘hypervisor.’ A hypervisor is a layer of system software that runs on the computer hardware beneath the operating system layer to allows multiple operating systems to run on a host computer at the same time. Hypervisors were originally developed in the early 1970's, when company cost reductions were forcing multiple scattered departmental computers to be consolidated into a single, larger computer—the mainframe—that would serve multiple departments. By running multiple operating systems simultaneously, the hypervisor brought a measure of robustness and stability to the system. Even if one operating system crashed, the others would continue working without interruption. Indeed, this even allowed beta or experimental versions of the operating system to be deployed and debugged without jeopardizing the stable main production system and without requiring costly second and third systems for developers to work on.
A hypervisor allows multiple operating systems to run on a host computer at the same time by providing each operating system with its own set of computer resources. These computer resources are typically virtualized counterparts to the physical resources of a computing system. A hypervisor allocates these resources to each operating system using logical partitions. A logical partition is a set of data structures and services that enables distribution of computer resources within a single computer to make the computer function as if it were two or more independent computers. Using a logical partition, therefore, a hypervisor provides a layer of abstraction between a computer hardware layer of a computing system and an operating system layer.
Each logical partition of a computing system typically supports an operating system, which in turn supports multiple user processes. In such a manner, hundreds of user processes may be supported on the computing system at any given moment. As the computing system executes the user processes, data of each user processes is manipulated in volatile computer memory, but is not always saved to non-volatile computer memory. Occasionally, a system event occurs precipitating the need for saving any unsaved user process data such as, for example, power interruption of partition migration. When these system events occur, a system administrator must manually interact with each user process to save any unsaved data. Manually interacting with each user process to save any unsaved data, however, is inefficient and costly because such manual interaction consumes large amounts of the system administrator's time.